home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
intrvews
/
xgrab.lha
/
xgrab
/
doc
/
xgrab_intro.ms
< prev
next >
Wrap
Text File
|
1990-04-24
|
7KB
|
160 lines
.\" GRAB Graph Layout and Browser System
.\"
.\" Copyright (c) 1986, 1988 Regents of the University of California
.\" Copyright (c) 1989, Tera Computer Company
.\"
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation for educational, research, and non-profit purposes and
.\" without fee is hereby granted, provided that the above copyright
.\" notice appear in all copies and that both that copyright notice and
.\" this permission notice appear in supporting documentation, and that
.\" the name of the University of California not be used in advertising
.\" or publicity pertaining to distribution of the software without
.\" specific, written prior permission. Permission to incorporate this
.\" software into commercial products can be obtained from the Campus
.\" Software Office, University of California, Berkeley, CA 94720.
.\" The University of California makes no representations about the
.\" suitability of this software for any purpose. It is provided "as is"
.\" without express or implied warranty.
.\"
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation for educational, research, and non-profit purposes and
.\" without fee is hereby granted, subject only to the condition that Tera
.\" Computer Company makes no representation about the suitability of
.\" this software for any purpose. It is provided "as is" without express or
.\" implied warranty.
.\"
.\" Furthermore, portions of this system
.\" Copyright (c) 1987, 1988, 1989 Stanford University
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and its
.\" documentation for any purpose is hereby granted without fee, provided
.\" that the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation, and that the name of Stanford not be used in advertising or
.\" publicity pertaining to distribution of the software without specific,
.\" written prior permission. Stanford makes no representations about
.\" the suitability of this software for any purpose. It is provided "as is"
.\" without express or implied warranty.
.\"
.\" STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
.\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
.\" IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
.\" DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" (whew!)
.\"
.TL
Introduction to GRAB
.AU
Lawrence A. Rowe
revised by Greg Barnes
.AI
Computer Science Division - EECS
University of California
Berkeley, CA 94720, and
Tera Computer Company
400 N. 34th St., Suite 300
Seattle, WA 98103, respectively
.PP
Directed graphs are commonly used
to represent information. For example, in Computer Science graphs are
used to represented program call-graphs, module dependency graphs, the
fsa underlying an LR parser, and database designs.
.PP
GRAB was designed to display and edit arbitrary directed graphs. A
novel feature of \fIGRAB\fR is that it has an operation to layout a
graph automatically. The current implementation of this operation is
based on an algorithm developed by Sugiyama, et.al. [Sugiyama]. The
objective of the algorithm is to minimize the number of edge crossings
and to produce a layout that makes the graph easier to understand. The
initial implementation of this algorithm was done by Carl Meyer. His
Master's report [Meyer] describes the design goals for \fIGRAB\fR and
presents a description of the algorithm that is much easier to
understand than the description in [Sugiyama].
.PP
Michael Davis modified the layout heuristics used by the layout
algorithm to straighten long edges, improve the placement of nodes on a
level, and improve the routing of edges between nodes. In addition,
Davis modified the data structures to improve the run-time performance
of the layout algorithm. These changes are described in his Master's
report [Davis].
.PP
The first implementation of the layout algorithm was on a VAX. This
implementation was ported to the Sun Microsystems M68K and included in
a graph displayer and editor, called \fISUNGRAB\fR, developed by
Charles Spirakis and Michael Davis, and later on modified by Allen
Tuan and Eli Messinger.
.PP
Greg Barnes ported the \fISUNGRAB\fR program to the X Window System,
Version 11, altering the layout algorithm slightly, the user interface
extensively, and the name completely (to \fIXGRAB\fR).
The source code, documentation, manual pages, and sample data
files for this program are included in the parent of this directory.
The README file there describes how to compile the system.
.PP
[the following notes are about the sungrab system, not the xgrab system.
Although I can't be sure, I believe the first improvement has already been
accomplished. Layouts should take seconds, not minutes, to perform.
An in-core representation is still being used, however.]
.PP
We are continuing to improve and extend the \fISUNGRAB\fR system. Some
of the improvements and extensions currently being worked on are:
.IP 1.
The algorithms and data structures will be changed to make the system
run faster. We have layed out a graph with approximately 250 nodes and
1000 edges (the call-graph for \fISUNGRAB\fR itself). This graph took
25 minutes to layout. Loading the graph after it was layed out took
over 8 minutes. We want to speed the system up so we can operate on
graphs with up to 1000 nodes. Eventually, this will require modifying
the system to run on graphs stored in a database system rather than the
in-core representation currently used.
.IP 2.
The layout algorithm will be improved and changed to layout graphs
incrementally so that interactive editing of the graph or the data
represented by the graph (e.g., a source program) will not require the
entire graph to be layed out again. In addition, we have heuristics
for improving the current layouts with which we want to experiment.
.PP
We also are hoping that early users of the system will offer
suggestions for improvements. Please send suggestions to me at the
following address given above or e-mail to
.IP
\fBlarry@ingres.Berkeley.EDU\fR.
.LP
Bugs or problems installing and using the sungrab system should be sent to
.IP
\fBgrab@ingres.Berkeley.EDU\fR.
.LP
Bugs or problems installing and using the xgrab system should be sent to
.IP
\fBgreg@cs.washington.edu\fR.
.SH
References
.LP
.nf
[Davis] M. Davis
``A Layout Algorithm for a Graph Browser.''
Masters Report, Comp. Sci. Div.-EECS, U.C. Berkeley
(May 1985).
[Meyer] C. Meyer
``A Brower for Directed Graphs.''
Masters Report, Comp. Sci. Div.-EECS, U.C. Berkeley
(Dec. 1983).
[Sugiyama] K. Sugiyama, S. Tagawa, and M. Toda
``Methods for Visual Understanding of Hierarchical Systems
Structures.'' IEEE Trans. on Sys. Man, and Cyb., SMC-11 (2)
(Feb. 1981).
.SH
Note
.IP
\fIX Window System\fR is a trademark of the Massachusetts Institute of
Technology
.fi